| Materia prima | Costo $/kg | Azúcares % | Grasas % | Proteínas % | Inertes % |
|---|---|---|---|---|---|
| A | 2.35 | 12 | 10 | 60 | 18 |
| B | 2 | 10 | 10 | 50 | 30 |
| C | 1.7 | 8 | 6 | 44 | 42 |
Módulo I (30%)
- Parcial (25%)
- Actividades en clase (5%)
Módulo II (20%)
- Parcial (15%)
- Actividades en clase (5%)
Módulo III (20%)
- Parcial (15%)
- Actividades en clase (5%)
Actividades Complementarias e integradoras (30%)
- Lectura (5%)
- Dashboard OEE (15%)
- Taller de optimización en AMPL (10%)
Qlik
Sense
La investigación de operaciones es la rama de las matemáticas que aporta herramientas para la toma de decisiones, específicamente problemas de asignación de recursos escasos. Esto a su vez, buscando la eficiencia y eficacia en el uso de dichos recursos.
Un expendio naturista prepara sus alimentos y los vende al público basándose en tres materias primas, cuyos contenidos se presentan enseguida:
| Materia prima | Costo $/kg | Azúcares % | Grasas % | Proteínas % | Inertes % |
|---|---|---|---|---|---|
| A | 2.35 | 12 | 10 | 60 | 18 |
| B | 2 | 10 | 10 | 50 | 30 |
| C | 1.7 | 8 | 6 | 44 | 42 |
¿Cuánto deberían mezclar de cada una de las tres si se desea minimizar el costo para preparar 1kg de alimento, cuyo contenido de azúcar no sea menor a 10%, su contenido de grasa no mayor a 9.5% y su contenido de proteínas no menor de 52%?
\(\begin{align*} \text{min } Z(X) &= 2.35X_{A} + 2X_{B} + 1.7X_{C} \\ \\ \text{s.a:} \\ 0.12X_{A} + 0.10X_{B} + 0.08X_{C} &\geq 0.1 ~\text{(Contenido de azúcar)} \\ 0.1X_{A} + 0.1X_{B} + 0.06X_{C} &\leq 0.095 ~\text{(Contenido de grasa)} \\ 0.6X_{A} + 0.5X_{B} + 0.44X_{C} &\geq 0.52 ~\text{(Contenido de proteínas)} \\ X_{A} + X_{B} + X_{C} &= 1 ~\text{(Cantidad requerida)} \\ X_{A}, X_{B}, X_{C} &\geq 0 ~\text{(No negatividad)} \\ \\ \text{Donde:} \\ X_{A} &= \text{Cantidad a usar de la materia prima A} \\ X_{B} &= \text{Cantidad a usar de la materia prima B} \\ X_{C} &= \text{Cantidad a usar de la materia prima C} \end{align*}\)
\(\begin{align*} \text{min } Z(X) &= \sum_{i \in N} Costo_{i} \ast X_{i} \\ \\ \text{s.a:} \\ \sum_{i \in N}{} Azucar_{i} \ast X_{i} &\geq minimo_{Azucar} ~\text{(Contenido de azúcar)} \\ \sum_{i \in N}{} Grasa_{i} \ast X_{i} &\leq maximo_{Grasa} ~\text{(Contenido de grasa)} \\ \sum_{i \in N}{} Proteinas_{i} \ast X_{i} &\geq minimo_{Proteinas} ~\text{(Contenido de proteínas)} \\ \sum_{i \in N}{} X_{i} &= 1 ~\text{(Cantidad requerida)} \\ X_{i} &\geq 0 ~\text{(No negatividad)} \\ \\ \text{Donde:} \\ X_{i} &= \text{Cantidad a usar de la materia prima i} \\ N &= \{A, B, C\} \end{align*}\)
reset; # Elimina las variables, parametros y soluciones previas
model; # Indica el inicio del modelo
# Variables
var X_A >=0; # Cantidad de la materia prima A
var X_B >=0; # Cantidad de la materia prima B
var X_C >=0; # Cantidad de la materia prima C
# Funcion objetivo
minimize Z: 2.35*X_A + 2*X_B + 1.7*X_C;
# Restricciones
s.t. Contenido_Azucar:
0.12*X_A + 0.1*X_B + 0.08*X_C >= 0.1;
s.t. Contenido_Grasa:
0.1*X_A + 0.1*X_B + 0.06*X_C <= 0.095;
s.t. Contenido_Proteinas:
0.6*X_A + 0.5*X_B + 0.44*X_C >= 0.52;
s.t. Cantidad_Requerida:
X_A + X_B + X_C = 1;
# Opciones del solver
option solver highs;
solve;
display Z, X_A, X_B, X_C;reset; # Elimina las variables, parametros y soluciones previas
model; # Indica el inicio del modelo
# Conjuntos
set N; # Conjunto de materias primas
# Parametros
param Costo{N} >=0; # Costo de cada materia prima
param Azucar{N} >=0; # Aporte de azucar de cada mp
param minimo_azucar >=0;
param Grasa{N} >=0; # Aporte de grasa de cada mp
param maximo_grasa >=0;
param Proteinas{N} >=0; # Aporte de proteinas de cada mp
param minimo_proteinas >=0;
# Variables
var X{N} >=0; # Cantidad a usar de cada materia prima
# Funcion objetivo
maximize Z:
sum{i in N} Costo[i]*X[i];
# Restricciones
s.t. Contenido_Azucar:
sum{i in N} Azucar[i]*X[i] >= minimo_azucar;
s.t. Contenido_Grasa:
sum{i in N} Grasa[i]*X[i] <= maximo_grasa;
s.t. Contenido_Proteinas:
sum{i in N} Proteinas[i]*X[i] >= minimo_proteinas;
s.t. Cantidad_Requerida:
sum{i in N} X[i] = 1;
# Datos
data AMPL_ejemplo1.dat; # Indica de dónde extraer los datos
# Opciones del solver
option solver highs;
expand; # Expande el modelo, sirve para validar
solve;
display Z, X;Notación expandida
Notación compacta
En preparación para la temporada invernal, una compañía fabricante de ropa está manufacturando abrigos de piel con capucha y chamarras con relleno de plumas de ganso, pantalones con aislamiento y guantes. Todos los productos se elaboran en cuatro departamentos diferentes: corte, aislamiento, costura y empaque.
La compañía recibió pedidos en firme de sus productos, el contrato estipula una penalización por los artículos no surtidos. Elabore un plan de producción óptimo para la compañía, con base en los siguientes datos:
Tiempo requerido por área (hr)
|
|||||
|---|---|---|---|---|---|
| Departamento | Chamarras | Relleno de plumas | Pantalones | Guantes | Capacidad (hr) |
| Corte | 0.3 | 0.3 | 0.25 | 0.15 | 1000 |
| Aislamiento | 0.25 | 0.35 | 0.3 | 0.1 | 500 |
| Costura | 0.45 | 0.5 | 0.4 | 0.22 | 302 |
| Empaque | 0.15 | 0.15 | 0.1 | 0.05 | 700 |
| Demanda | 800 | 750 | 600 | 500 | - |
| Utilidad ($/uni) | 30 | 40 | 20 | 10 | - |
| Penalización por unidad ($/uni) | 15 | 20 | 10 | 8 | - |
¿Cuánto deberían mezclar de cada una de las tres si se desea minimizar el costo para preparar 1kg de alimento, cuyo contenido de azúcar no sea menor a 10%, su contenido de grasa no mayor a 9.5% y su contenido de proteínas no menor de 52%?
\(\begin{align*} \text{max } Z(X) &= 30X_{1} + 40X_{2} + 20X_{3} + 10X_{4} \\ &\text{...} - 15\max\{800-X_{1},0\} \\ &\text{...} - 20\max\{750-X_{2},0\} \\ &\text{...} - 10\max\{600-X_{3},0\} \\ &\text{...} - 8\max\{500-X_{4},0\} \\ \text{s.a:} \\ 0.3X_{1} + 0.3X_{2} + 0.25X_{3} + 0.15X_{4} &\leq 1000 ~\text{(Corte)} \\ 0.25X_{1} + 0.35X_{2} + 0.3X_{3} + 0.1X_{4} &\leq 500 ~\text{(Aislamiento)} \\ 0.45X_{1} + 0.5X_{2} + 0.4X_{3} + 0.22X_{4} &\leq 302 ~\text{(Costura)} \\ 0.15X_{1} + 0.15X_{2} + 0.1X_{3} + 0.05X_{4} &\leq 700 ~\text{(Empaque)} \\ X_{1} &\leq 800 ~\text{(Demanda de chamarras)} \\ X_{2} &\leq 750 ~\text{(Demanda de relleno de plumas)} \\ X_{3} &\leq 600 ~\text{(Demanda de pantalones)} \\ X_{4} &\leq 500 ~\text{(Demanda de guantes)} \\ X_{1}, X_{2}, X_{3}, X_{4} &\geq 0 ~\text{(No negatividad)} \\ \\ \text{Donde:} \\ X_{1} &= \text{Cantidad a fabricar de chamarras} \\ X_{2} &= \text{Cantidad a fabricar de relleno de plumas} \\ X_{3} &= \text{Cantidad a fabricar de pantalones} \\ X_{4} &= \text{Cantidad a fabricar de guantes} \end{align*}\)
\(\begin{align*} \text{max } Z(X) &= \sum_{i = 1}^{M} (Utilidad_{i} \ast X_{i} \\ &\text{...} - Penalidad_{i} \ast \max\{Demanda_{i}-X_{i},0\}) \\ \text{s.a:} \\ \sum_{i = 1}^{M} Corte_{i} \ast X_{i} &\leq TiempoDisponible_{Corte} ~\text{(Corte)} \\ \sum_{i = 1}^{M} Aislamiento_{i} \ast X_{i} &\leq TiempoDisponible_{Aislamiento} ~\text{(Aislamiento)} \\ \sum_{i = 1}^{M} Costura_{i} \ast X_{i} &\leq TiempoDisponible_{Costura} ~\text{(Costura)} \\ \sum_{i = 1}^{M} Empaque_{i} \ast X_{i} &\leq TiempoDisponible_{Empaque} ~\text{(Empaque)} \\ X_{i} &\leq Demanda_{i} ~\forall ~i \in M ~\text{(Demanda de i)} \\ X_{i} &\geq 0 ~\forall ~i \in M ~\text{(No negatividad)} \\ \\ \text{Donde:} \\ X_{i} &= \text{Cantidad a fabricar del producto i} \\ M &= \text{Conjunto de productos} \end{align*}\)
\(\begin{align*} \text{max } Z(X) &= \sum_{i = 1}^{M} (Utilidad_{i} \ast X_{i} \\ &\text{...} - Penalidad_{i} \ast \max\{Demanda_{i}-X_{i},0\}) \\ \text{s.a:} \\ \sum_{i = 1}^{M} Tiempo_{i,j} \ast X_{i} &\leq TiempoDisponible_{j} ~\forall ~j \in \text{Area} \\ X_{i} &\leq Demanda_{i} ~\forall ~i \in Productos \\ X_{i} &\geq 0 ~\forall ~i \in Productos \\ \\ \text{Donde:} \\ X_{i} &= \text{Cantidad a fabricar del producto i} \\ M &= \text{Cantidad de productos} \end{align*}\)
reset; # Elimina las variables, parametros y soluciones previas
model; # Indica el inicio del modelo
# Conjuntos
param M integer >=0; # Cantidad de productos
set Productos:= 1..M; # Conjunto de productos
set Areas; # Conjuntos de areas de produccion
# Parametros
param Utilidad{Productos} >=0; # Utilidad unitaria por producto
param Penalidad{Productos} >=0; # Penalidad unitaria por demanda no cubierta
param Demanda{Productos} >=0; # Demanda por tipo de producto
param TiempoRequerido{Productos, Areas} >=0; # Tiempo requerido por el producto i en el area j
param TiempoDisponible{Areas} >=0; # Tiempo disponible
# Variables
var X{Productos} integer >=0; # Cantidad a fabricar del producto i
# Funcion objetivo
maximize Z:
sum{i in Productos} (Utilidad[i]*X[i] - Penalidad[i]*max(Demanda[i]-X[i], 0));
# Restricciones
s.t. Tiempo{(i,j) in {Productos,Areas}}:
TiempoRequerido[i,j]*X[i] <= TiempoDisponible[j]
;
s.t. Demandas{i in Productos}:
X[i] <= Demanda[i]
;
# Datos
data 0_AMPL_Ejemplo2Compacto.dat; # Indica de donde extraer los datos
# Opciones del solver
option solver highs;
expand;
solve;
display Z, X;param M:= 4; # Cantidad de productos
set Areas:= Corte Aislamiento Costura Empaque;
param:
Utilidad Penalidad Demanda:=
1 30 15 800
2 40 20 750
3 20 10 600
4 10 8 500
;
param TiempoRequerido:=
1 Corte 0.3
1 Aislamiento 0.25
1 Costura 0.45
1 Empaque 0.15
2 Corte 0.3
2 Aislamiento 0.35
2 Costura 0.5
2 Empaque 0.15
3 Corte 0.25
3 Aislamiento 0.3
3 Costura 0.4
3 Empaque 0.1
4 Corte 0.15
4 Aislamiento 0.1
4 Costura 0.22
4 Empaque 0.05
;
param TiempoDisponible:=
Corte 1000
Aislamiento 500
Costura 302
Empaque 700
;El modelo T de Ford pasó de tener un tiempo de fabricación de 4 días a un tiempo de 10s, centando las bases de las líneas de ensamble.
SDG
ODS
La maquinaria y el equipo se colocan de manera que el producto siempre siga la misma ruta a través de la planta. En lugar de la programación diaria, el problema crítico es establecer y balancear las tareas que se realizan en la línea de producción para asegurar una operación estable. Flujo en línea
Se agrupan las máquinas similares en una zona determinada de la planta. Por ejemplo, en un taller de maquinado, los tornos se colocan en un área, las fresadoras en otras y las cortadoras en otra.
De esta forma el producto sólo se lleva hasta las áreas que requiere para su transformación. Flujo flexible
La maquinaria se agrupa en pequeñas área de trabajo, formando pequeñas líneas de producción que procesan familias de productos. Esta distribución es un híbrido entre la distribución por producto y la distribución por proceso, diferenciándose principalmente por su característica de producir por lotes.
El producto final generalmente por sus dimensiones o la dificultad de su transporte, se queda en un sitio fijo, mientras la maquinaria, materiales, equipos y operarios se mueven hasta él. Algunos ejemplos de esta distribución son la fabricación de aviones, barcos y la construcción de edificios.
Los factores de producción son todos aquellos recursos como maquinaria, materiales y mano de obra que son empleados en los procesos de manufactura y en la prestación de servicios.
Por otra parte, los factores productivos son medidas que permiten determinar la cantidad de recursos a utilizar en una línea de procesos para cumplir con la demanda de un producto o la prestación de un servicio. Estas medidas también permiten caracterizar el sistema productivo en términos de la capacidad del proceso y sus derivados.
Cycle time [C]: marca la frecuencia a la cual sale una pieza de una estación de trabajo. El tiempo de la estación más lenta marca el ritmo de producción \(time \over uni\) .
Production capacity [Cp]: es la cantidad de piezas por unidad de tiempo que puede producir una estación de trabajo \(uni \over time\)
Producción I | Facultad de Ciencias Empresariales